package com.ruoyi.health.mapper;

import java.util.List;
import com.ruoyi.health.domain.NoticeCategory;
import org.apache.ibatis.annotations.Mapper;

/**
 * 资讯分类Mapper接口
 * 
 * @author dalian
 * @date 2023-08-05
 */
@Mapper
public interface NoticeCategoryMapper 
{
    /**
     * 查询资讯分类
     * 
     * @param id 资讯分类主键
     * @return 资讯分类
     */
    public NoticeCategory selectNoticeCategoryById(Long id);

    /**
     * 查询资讯分类列表
     * 
     * @param noticeCategory 资讯分类
     * @return 资讯分类集合
     */
    public List<NoticeCategory> selectNoticeCategoryList(NoticeCategory noticeCategory);

    /**
     * 根据父级分类id查询子级分类
     * @param parentId
     * @return
     */
    public List<NoticeCategory> selectNoticeCategoryListByParentId(Long parentId);


    /**
     * 新增资讯分类
     * 
     * @param noticeCategory 资讯分类
     * @return 结果
     */
    public int insertNoticeCategory(NoticeCategory noticeCategory);

    /**
     * 修改资讯分类
     * 
     * @param noticeCategory 资讯分类
     * @return 结果
     */
    public int updateNoticeCategory(NoticeCategory noticeCategory);

    /**
     * 删除资讯分类
     * 
     * @param id 资讯分类主键
     * @return 结果
     */
    public int deleteNoticeCategoryById(Long id);

    /**
     * 根据parent_id查询此类别下，子类别的数量
     * 用途：删除之前，需要确保该类型下，没有子类型
     * @param parentId
     * @return
     */
    int selectCountSubNoticeCategoryByParentId(Long parentId);
}
